package com.lzdongrui.backend.mapper;

import java.util.List;
import com.lzdongrui.backend.domain.Eliminate;
import com.lzdongrui.backend.domain.dto.ApplyLeaveDTO;
import com.lzdongrui.backend.domain.dto.EliminateDTO;
import com.lzdongrui.backend.domain.vo.ApplyLeaveVO;
import com.lzdongrui.backend.domain.vo.EliminateVO;

/**
 * 销假记录Mapper接口
 * 
 * @author ysl
 * @date 2023-06-09
 */
public interface EliminateMapper 
{
    /**
     * 查询销假记录
     * 
     * @param id 销假记录主键
     * @return 销假记录
     */
    public EliminateVO selectEliminateById(Long id);

    /**
     * 查询销假记录列表
     * 
     * @param eliminate 销假记录
     * @return 销假记录集合
     */
    public List<EliminateVO> selectEliminateList(EliminateDTO eliminate);

    /**
     * 查询待销假的请假记录列表
     *
     * @param eliminate 请假申请
     * @return 请假申请集合
     */
    public List<EliminateVO> selectStuStayEliminateList(EliminateDTO eliminate);

    /**
     * 新增销假记录
     * 
     * @param eliminate 销假记录
     * @return 结果
     */
    public int insertEliminate(Eliminate eliminate);

    /**
     * 修改销假记录
     * 
     * @param eliminate 销假记录
     * @return 结果
     */
    public int updateEliminate(Eliminate eliminate);

    /**
     * 删除销假记录
     * 
     * @param id 销假记录主键
     * @return 结果
     */
    public int deleteEliminateById(Long id);

    /**
     * 批量删除销假记录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEliminateByIds(Long[] ids);

    List<EliminateVO> selectEliminateistInstructor(EliminateDTO eliminate);

    List<EliminateVO> selectEliminateistByCollege(EliminateDTO eliminate);
}
